<?php
namespace app\common\oss;
require_once ROOT_PATH.'vendor/aliyun-oss-php-sdk-2.2.4/autoload.php';
use OSS\OssClient;
use OSS\Core\OssException;

class OssUtil{
    function new_oss(){
        $config=config('aliyun_oss');
        //实例化OSS
        $oss=new \OSS\OssClient($config['KeyId'],$config['KeySecret'],$config['Endpoint']);
        return $oss;
    }

    /**
    * 上传指定的本地文件内容
    *
    * @param OssClient $ossClient OSSClient实例
    * @param string $bucket 存储空间名称
    * @param string $object 上传的文件名称
    * @param string $Path 本地文件路径
    * @return null
    */
    function uploadFile($bucket,$object,$Path){
        //try 要执行的代码,如果代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示
        try{            
            $ossClient = $this->new_oss();
            //uploadFile的上传方法
            $ossClient->uploadFile($bucket, $object, $Path);
        } catch(OssException $e) {
            //如果出错这里返回报错信息
            return $e->getMessage();
        }
        //否则，完成上传操作
        return true;
    }

    /**
    * 删除指定文件
    *
    * @param OssClient $ossClient OSSClient实例
    * @param string $bucket 存储空间名称
    * @param string $object object名称
    * @return null
    */
    function deleteObject($bucket,$object){
        try{
            $ossClient = $this->new_oss();
            return $ossClient->deleteObject($bucket, $object);
        } catch(OssException $e){
            //如果出错这里返回报错信息
            return $e->getMessage();
        }        
    }
}